package com.sino.business;

import java.util.List;

import com.sino.model.ModuleModel;
import com.sino.model.StaticModel;

public interface IAclService 
{
   /**
    * 通过roleId查找所有未授予该角色的模块
    * @param roleId
    * @return
    */
	public List<StaticModel> listUnAuthModule(int roleId);
   /**
    * 通过roleId查找所有已经授予该角色的模块
    * @param roleId
    * @return
    */
	public List<StaticModel> listAuthModule(int roleId);
	/**
	 * 通过角色id查找所有模块列表，并对已经授权的模块自动标识，返回html字符串
	 * @param roleId
	 * @return
	 */
	public String listModuleString(int roleId);
	/**
	 * 授予某个角色模块权限或者回收某个角色模块权限
	 * @param roleId
	 * @param ModuleList
	 */
	public void saveOrRevokeModule(int roleId,String[] moduleList);
	/**
	 * 通过实体type与id查看一个实体所具有的所有权限
	 * @param type
	 * @param entityId
	 * @return
	 */
	public List<ModuleModel> listPermissionByEntity(int type,int entityId);
}
